Interface for radial selection of time-based events

ABSTRACT

A computing device is described that outputs a radial interface. The computing device accesses a list that includes multiple time-based events that have a particular duration. The computing device selects, based on the list and the duration of each time-based event, a subset of time-based events determined such that a sum of the durations for each event in the subset is less than or equal to an hour. An order of the events in the subset is the same as in the list. The computing device generates a graphical user interface that includes a graphical selector and a number of graphical representations equal to the number of events in the subset, each graphical representation corresponding to a different event from the subset, arranged around the selector, and having a size proportional to the duration of the event corresponding to the respective representation. The computing device outputs, for display, the interface.

RELATED APPLICATIONS

This application is a continuation of application Ser. No. 16/782,799,filed Feb. 5, 2020, the entire contents of which are incorporated hereinby reference.

TECHNICAL FIELD

The disclosure relates to graphical user interfaces for navigatingtime-based elements.

BACKGROUND

Graphical user interfaces in many modern computing devices are forced tostraddle the line between being simple enough that a user can easilynavigate through the application outputting the graphical user interfaceand so that the user is not overwhelmed with information, but also mustbe complex enough to convey all of the information that the user wouldlike to see within the application. When it comes to time-based events,which can be defined as any media- or calendar-based item that issomehow associated with time (e.g., by either occurring at a particulartime or by having a particular duration), many graphical user interfacesfail to satisfy the above criteria, either being too difficult tonavigate, showing too much information, or showing too littleinformation.

SUMMARY

In general, the disclosure is directed to a graphical user interfaceoutput by a computing device that effectively displays a number oftime-based events. The graphical user interface includes a radialselector element that points towards an event that is currentlyoccurring. For instance, the radial selector element may point towards asong that is currently playing or a calendar event that is currentlyoccurring. Surrounding the radial selector element are graphicalrepresentations of other time-based events, such as additional songs ina playlist or other calendar events for the user of the computingdevice. Additionally, a size of the graphical representations in thedisplay are output such that the size is proportionate to a duration ofthe associated time-based event, meaning that a 3-minute event mayappear to be half the size of a 6-minute event. In this manner, the sizemay refer to the area taken up by the graphical representation in thegraphical user interface, the length of an internal arc near the radialselector, or any other component of the graphical representation.

The user may interact with the radial selector element to scroll throughthe graphical representations output in the graphical user interface,either to interact with the other elements or to merely see informationabout the other time-based events. As the user scrolls through theradial arrangement of the elements, some of these elements may bereplaced with additional elements in the list while the device updatesthe interface to include some number of elements falling within aparticular time span before and/or after the current selected by theradial selector during the scrolling input. In this way, the deviceworks through the elements in the list from front to back whilemaintaining the radial arrangement.

The radial selector element may be directed in a static direction whennot being interacted with (e.g., with the time-based events circlingaround the radial selector element). In other instances, the radialselector element may move in a circle, pointing at the differentelements. For example, the radial selector element may be a minute handof an analog watch face. In these examples, the graphical user interfacemay include the graphical representations at positions around the analogwatch face in locations corresponding to when the time-based events areto occur.

These techniques provide multiple benefits over conventional interfaces.For instance, with time-based events having some known duration, but adynamic start time based on prior events (e.g., a song within aplaylist, a podcast within a podcast list, a video within a videosequence, etc.), it may be difficult to recognize when a particulartime-based event is going to occur in the scope of the entire playlistwhen the events are viewed in a list form. By providing the visualindication in accordance with the techniques described herein, a usermay more quickly ascertain the entire landscape of the varioustime-based events in the list rather than having to scroll verticallythrough a list and perform mental mathematics. The user interface asdescribed herein also provides an intuitive way to scroll through thetime-based events, enabling the graphical user interface to maintain thesame beneficial form while the user navigates the list. This may reducethe overall number of user inputs received by the computing device,thereby increasing the durability of the components, the processingefficiency of the device, and the power consumption efficiency of thedevice, thereby providing the practical application of improving thefunctioning of the computer. Further, the particular graphical userinterface described herein provides an improvement to the technology inwhich the techniques are implemented by improving the computing devicein the manner described above and by providing an improved graphicaluser interface.

In one example, the disclosure is directed to a method that includesaccessing, by one or more processors of a computing device, a list thatincludes a plurality of time-based events, wherein each time-based eventhas a particular duration. The method further includes selecting, by theone or more processors, and based at least in part on the list and theduration of each time-based event, a subset of time-based events fromthe plurality of time-based events, wherein the subset of time-basedevents from the plurality of time-based events is determined such that asum of the durations for each respective time-based event in the subsetof time-based events is less than or equal to an hour, and wherein anorder of the time-based events in the subset of time-based events is asame order as an order in the list. The method also includes generating,by the one or more processors, a graphical user interface that includesa graphical selector and a number of graphical representations equal tothe number of time-based events in the subset of time based events, eachgraphical representation corresponding to a different time-based eventfrom the subset of time-based events, wherein a size of each graphicalrepresentation is proportional to the duration of the time-based eventcorresponding to the respective graphical representation, and whereinthe graphical representations are arranged at least partially around thegraphical selector. The method further includes outputting, by the oneor more processors and for display on a display component, the graphicaluser interface.

In another example, the disclosure is directed to a computing devicethat includes a memory configured to store one or more computer-readableinstructions. The computing device also includes a processor configuredto execute the one or more computer-readable instructions to access alist that includes a plurality of time-based events, wherein eachtime-based event has a particular duration. The processor is furtherconfigured to execute the one or more computer-readable instructions toselect, based at least in part on the list and the duration of eachtime-based event, a subset of time-based events from the plurality oftime-based events, wherein the subset of time-based events from theplurality of time-based events is determined such that a sum of thedurations for each respective time-based event in the subset oftime-based events is less than or equal to an hour, and wherein an orderof the time-based events in the subset of time-based events is a sameorder as an order in the list. The processor is also configured toexecute the one or more computer-readable instructions to generate agraphical user interface that includes a graphical selector and a numberof graphical representations equal to the number of time-based events inthe subset of time based events, each graphical representationcorresponding to a different time-based event from the subset oftime-based events, wherein a size of each graphical representation isproportional to the duration of the time-based event corresponding tothe respective graphical representation, and wherein the graphicalrepresentations are arranged at least partially around the graphicalselector. The processor is further configured to execute the one or morecomputer-readable instructions to output, for display on a displaycomponent, the graphical user interface.

In another example, the disclosure is directed to a non-transitorycomputer-readable storage medium containing instructions. Theinstructions, when executed, cause one or more processors to access alist that includes a plurality of time-based events, wherein eachtime-based event has a particular duration. The instructions, whenexecuted, further cause one or more processors to select, based at leastin part on the list and the duration of each time-based event, a subsetof time-based events from the plurality of time-based events, whereinthe subset of time-based events from the plurality of time-based eventsis determined such that a sum of the durations for each respectivetime-based event in the subset of time-based events is less than orequal to an hour, and wherein an order of the time-based events in thesubset of time-based events is a same order as an order in the list. Theinstructions, when executed, also cause one or more processors togenerate a graphical user interface that includes a graphical selectorand a number of graphical representations equal to the number oftime-based events in the subset of time based events, each graphicalrepresentation corresponding to a different time-based event from thesubset of time-based events, wherein a size of each graphicalrepresentation is proportional to the duration of the time-based eventcorresponding to the respective graphical representation, and whereinthe graphical representations are arranged at least partially around thegraphical selector. The instructions, when executed, further cause oneor more processors to output, for display on a display component, thegraphical user interface.

The details of one or more examples of the disclosure are set forth inthe accompanying drawings and the description below. Other features,objects, and advantages of the disclosure will be apparent from thedescription and drawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a conceptual diagram illustrating a computing deviceconfigured to output an example radial selection interface, inaccordance with one or more of the techniques described herein.

FIG. 2 is a block diagram illustrating a more detailed example of acomputing device configured to perform the techniques described herein.

FIG. 3 is an example radial selection interface with an analog watchface, in accordance with one or more of the techniques described herein.

FIG. 4 is an example radial selection interface with an illustration ofthe time-based events moving around the radial selector as time passes,in accordance with one or more of the techniques described herein.

FIG. 5 is an example radial selection interface with an analog watchface and an illustration of the time-based events staying stationary,but updating, around the radial selector as time passes, in accordancewith one or more of the techniques described herein.

FIGS. 6A-6B are example radial selection interfaces with an analog watchface as the user uses the minute hand of the watch face to scroll andselect a different time-based element, in accordance with one or more ofthe techniques described herein.

FIG. 7 is an example circular radial selection interface with an analogwatch face, in accordance with one or more of the techniques describedherein.

FIG. 8 is an example radial selection interface output on a host devicewhere the time-based events are gathered from multiple users, inaccordance with one or more of the techniques described herein.

FIG. 9 is an example radial selection interface output on a secondarydevice where the time-based events are gathered from multiple users, inaccordance with one or more of the techniques described herein.

FIG. 10 is an example radial selection interface output on a secondarydevice where the time-based events are gathered from multiple users andwhere a user wishes to change the order of their events, in accordancewith one or more of the techniques described herein.

FIG. 11 is an example radial selection interface with an analog watchface and a rounded, rectangular list that may be used to add elements tothe list, in accordance with one or more of the techniques describedherein.

FIG. 12 is a flow diagram illustrating an example process fordetermining and outputting a radial interface for time-based events, inaccordance with one or more of the techniques described herein.

DETAILED DESCRIPTION

FIG. 1 is a conceptual diagram illustrating computing device 110configured to output an example radial selection interface 160, inaccordance with one or more of the techniques described herein.Computing device 110 may include at least user interface (UI) component112, and menu module 120. Computing device 110 may be any of asmartphone, a tablet, a laptop, a desktop, a smartwatch, a smartrefrigerator, a smart appliance, a musical instrument, a server device,or a cloud device, among other things.

UI component 112 of computing device 110 may perform various functions,including display functions and presence-sensitive input functions. UIcomponent 112 may be a screen at which information (e.g., a visualindication) is displayed by UI component 112, while UI component 112 mayalso detect an object at and/or near UI component 112.

While illustrated as an internal component of computing device 110, UIcomponent 112 may also represent an external component that shares adata path with computing device 110 for transmitting and/or receivinginput and output. For instance, in one example, UI component 112represents a built-in component of computing device 110 located withinand physically connected to the external packaging of computing device110 (e.g., a screen on a mobile phone or a smartwatch). In anotherexample, UI component 112 represents an external component of computingdevice 110 located outside and physically separated from the packagingor housing of computing device 110 (e.g., a monitor, a projector, etc.that shares a wired and/or wireless data path with computing device110).

UI component 112 of computing device 110 may detect two-dimensionaland/or three-dimensional gestures as input from a user of computingdevice 110. For instance, a sensor of UI component 112 may detect auser's movement (e.g., moving a hand, an arm, a pen, a stylus, a tactileobject, etc.) within a threshold distance of the sensor of UI component112. UI component 112 may determine a two or three-dimensional vectorrepresentation of the movement and correlate the vector representationto a gesture input (e.g., a hand-wave, a pinch, a clap, a pen stroke,etc.) that has multiple dimensions. In other words, UI component 112 candetect a multi-dimension gesture without requiring the user to gestureat or near a screen or surface at which UI component 112 outputsinformation for display. Instead, UI component 112 can detect amulti-dimensional gesture performed at or near a sensor which may or maynot be located near the screen or surface at which UI component 112outputs information for display.

Menu module 120 may be operable by one or more processors of computingdevice 110 to perform various actions, operations, or functions ofcomputing device 110. For example, the processors of computing device110 may retrieve and execute instructions stored by menu module 120 thatcause the processors to perform the operations described with respect tomenu module 120. The instructions, when executed by the processors, maycause computing device 110 to generate, output, and manipulate a radialselection interface for time-based elements where the size of theelements is dependent on a duration of the respective element.

In accordance with the techniques described herein, menu module 120 mayaccess a list that includes a plurality of time-based events. Eachtime-based event may have a particular duration. For instance, thetime-based events may include any of, or any mix of, a song, a podcast,a video, a picture in a slide of a slideshow, a calendar event, anappointment, an audio book, an audio recording, a planned refrain fromaudio or video, or an access priority (e.g., a next customer in a queuefor an at-home service, a customer's place in a line, such as in anamusement park, or any other queue-based activity). The list may be anordered list, such as a specific sequence of the time-based events tooccur consecutively. While the list may be a pre-defined ordered liststored on computing device 110, the list may not necessarily be storedstatically by computing device 110. Rather, the list may be compileddynamically when computing device 110 executes menu module 120. Forinstance, the list may include a number of songs, such as in playlistform, but may be generated in a new order if the user activates a“shuffle” feature for the songs within the playlist. In general, thelist is merely any grouping of the various time-based events in someorder.

Menu module 120 may select, based at least in part on the list and theduration of each time-based event, a subset of time-based events fromthe plurality of time-based events. Menu module 120 may determine thesubset of time-based events from the plurality of time-based events isdetermined such that a sum of the durations for each respectivetime-based event in the subset of time-based events is less than orequal to an hour. However, in other examples, menu module 120 may selectthe subsets using any other amount of time as the total duration limit,such as 30 minutes, 2 hours, 3 hours, 4 hours, 6 hours, 12 hours, 16hours, or 24 hours, among other time limits. Furthermore, when menumodule 120 selects the subset of time-based events, an order of thetime-based events in the subset of time-based events may be a same orderas an order in the list.

Menu module 120 may then generate graphical user interface 160 thatincludes graphical selector 164 and a number of graphicalrepresentations 166A-166P (collectively, graphical representations 166).The number of graphical representations 166 may be equal to the numberof time-based events in the subset of time-based events, such thatgraphical interface 160 includes a graphical representation 166 of everytime-based event in the subset. Each graphical representation 166corresponds to a different time-based event from the subset oftime-based events. Further, a size of each graphical representation 166,such as an area of each of graphical representations 166 or a length ofthe interior arc of each of graphical representations 166, isproportional to the duration of the time-based event corresponding tothe respective graphical representation 166. As shown in graphicalinterface 160, graphical representations 166 are arranged at leastpartially around graphical selector 160. Menu module 120 then outputsgraphical user interface 160 for display on UI component 112.

Graphical representations 166 may also vary in the form of theinformation that is shown. For instance, initially, each of graphicalrepresentations 166 may show cover art for the respective song that isassociated with the graphical representations. If menu module 120detects an indication of user input, such as a tap input, at one ofgraphical representations 166, such as graphical representation 166J,menu module 120 may alter the visual characteristics of graphicalrepresentation 166J to instead show descriptive text instead of thecover art. Furthermore, if two graphical representations, such asgraphical representation 166C and graphical representation 166D, are twosongs from the same album, menu module 120 may generate graphical userinterface 160 to still include the line between graphicalrepresentations 166C and 166D, but also such that the cover art ofgraphical representation 166D is an extension of the cover art ofgraphical representation 166C.

In some instances, menu module 120 may generate graphical user interface160 to include additional elements. For instance, in the example of FIG.1 , menu module 120 may generate information 162, the information beingdescriptive of the currently selected time-based event (e.g., thetime-based event corresponding to graphical representation 166A).Additionally, menu module 120 may generate icons 168A-168D to accessadditional functionality in an application that utilizes the techniquesdescribed herein. In instances where the time-based events are some sortof media, menu module 120 may also generate a dynamic play/pause icon180 that indicates whether the next interaction with dynamic play/pauseicon 180 would pause the media or play the media.

Menu module 120 may also generate each of graphical representations 166to show various information. For instance, menu module 120 may generateeach of graphical representations 166 such that a user may visualize thetime-based event represented by the respective graphical representation166 in some way. This information could include album art of the song orpodcast represented by the respective graphical representation 166, atitle page of a video represented by the respective graphicalrepresentation 166, an artist name for a song represented by therespective graphical representation 166, a podcast host for a podcastrepresented by the respective graphical representation 166, a song,video, or podcast title for the media represented by the respectivegraphical representation 166, a color classification for an eventrepresented by the respective graphical representation 166, cover artfor an audio book or portion of an audio book represented by therespective graphical representation 166, an indication of a plannedaudio/video refrain represented by the respective graphicalrepresentation 166, a name or address of the customer having the accesspriority represented by the respective graphical representation 166, orany other information that could give the user some indication of whattime-based event is represented by the respective graphicalrepresentation 166.

These techniques provide multiple benefits over conventional interfaces.For instance, with time-based events having some known duration, but adynamic start time based on prior events (e.g., a song within aplaylist, a podcast within a podcast list, a video within a videosequence, etc.), it may be difficult to recognize when a particulartime-based event is going to occur in the scope of the entire playlistwhen the events are viewed in a list form. By providing graphicalrepresentations 166 in accordance with the techniques described herein,a user may more quickly ascertain the entire landscape of the varioustime-based events in the list rather than having to scroll verticallythrough a list and perform mental mathematics. The user interface asdescribed herein also provides an intuitive way to scroll through thetime-based events, enabling graphical user interface 160 to maintain thesame beneficial form while the user navigates the list. This may reducethe overall number of user inputs received by computing device 110,thereby increasing the durability of the components, the processingefficiency of computing device 110, and the power consumption efficiencyof computing device 110, thereby providing the practical application ofimproving the functioning of computing device 110. Further, graphicaluser interface 160 described herein provides an improvement to thetechnology in which the techniques are implemented by improvingcomputing device 110 in the manner described above and by providing animproved graphical user interface.

FIG. 2 is a block diagram illustrating an example computing deviceconfigured to output a radial selection interface, in accordance withone or more aspects of the techniques described in this disclosure.Computing device 210 of FIG. 2 is described below as an example ofcomputing device 110 of FIG. 1 . FIG. 2 illustrates only one particularexample of computing device 210, and many other examples of computingdevice 210 may be used in other instances and may include a subset ofthe components included in example computing device 210 or may includeadditional components not shown in FIG. 2 . Computing device 210 may beany of a smartphone, a tablet, a laptop, a desktop, a smartwatch, asmart refrigerator, a smart appliance, a musical instrument, a serverdevice, or a cloud device, among other things.

As shown in the example of FIG. 2 , computing device 210 includes userinterface component (UIC) 212, one or more processors 240, one or morecommunication units 242, one or more input components 244, one or moreoutput components 246, and one or more storage components 248. UIC 212includes display component 202 and presence-sensitive input component204. Storage components 248 of computing device 210 include menu module220, ordered list data 226, and library 228. Menu module 220 furtherincludes user interface (UI) module 222 and timing module 224.

One or more processors 240 may implement functionality and/or executeinstructions associated with computing device 210 to dynamically expandan interface element associated with application 218 displayed on UIC212 of computing device 210. That is, processors 240 may implementfunctionality and/or execute instructions associated with computingdevice 210 to generate and manipulate a user interface with a radialselection element for time-based events, in accordance with thetechniques described herein.

Examples of processors 240 include application processors, displaycontrollers, auxiliary processors, one or more sensor hubs, and anyother hardware configured to function as a processor, a processing unit,or a processing device. Modules 220, 222, and 224 may be operable byprocessors 240 to perform various actions, operations, or functions ofcomputing device 210. For example, processors 240 of computing device210 may retrieve and execute instructions stored by storage components248 that cause processors 240 to perform the operations described withrespect to modules 220, 222, and 224. The instructions, when executed byprocessors 240, may cause computing device 210 to generate, output, andmanipulate a radial selection interface for time-based elements wherethe size of the elements is dependent on a duration of the respectiveelement.

Menu module 220 may include all functionality of menu module 120 ofcomputing device 110 of FIG. 1 . Furthermore, menu module 220 mayinclude additional modules, such as UI module 220 and timing module 224,that may perform similar operations as menu module 120 for managing auser interface (e.g., user interface 160) that computing device 210provides at UIC 212 for example, for facilitating interactions between auser of computing device 110 and the radial selection interface. Forexample, timing module 224 of computing device 210 may receiveinformation from ordered list data store 226 that includes varioustime-based elements, determine durations of the various events, and UImodule 222 may generate the user interface from that data.

One or more storage components 248 within computing device 210 may storeinformation for processing during operation of computing device 210(e.g., computing device 210 may store data accessed by modules 220, 222,and 224 during execution at computing device 210). In some examples,storage component 248 is a temporary memory, meaning that a primarypurpose of storage component 248 is not long-term storage. Storagecomponents 248 on computing device 210 may be configured for short-termstorage of information as volatile memory and therefore not retainstored contents if powered off. Examples of volatile memories includerandom access memories (RAM), dynamic random access memories (DRAM),static random access memories (SRAM), and other forms of volatilememories known in the art.

Storage components 248, in some examples, also include one or morecomputer-readable storage media. Storage components 248 in some examplesinclude one or more non-transitory computer-readable storage mediums.Storage components 248 may be configured to store larger amounts ofinformation than typically stored by volatile memory. Storage components248 may further be configured for long-term storage of information asnon-volatile memory space and retain information after power on/offcycles. Examples of non-volatile memories include magnetic hard discs,optical discs, floppy discs, flash memories, or forms of electricallyprogrammable memories (EPROM) or electrically erasable and programmable(EEPROM) memories. Storage components 248 may store program instructionsand/or information (e.g., data) associated with modules 220, 222, and224 and data stores 226 and 228. Storage components 248 may include amemory configured to store data or other information associated withmodules 220, 222, and 224 and data stores 226 and 228.

Communication channels 250 may interconnect each of the components 212,240, 242, 244, 246, and 248 for inter-component communications(physically, communicatively, and/or operatively). In some examples,communication channels 250 may include a system bus, a networkconnection, an inter-process communication data structure, or any othermethod for communicating data.

One or more communication units 242 of computing device 210 maycommunicate with external devices via one or more wired and/or wirelessnetworks by transmitting and/or receiving network signals on one or morenetworks. Examples of communication units 242 include a networkinterface card (e.g. such as an Ethernet card), an optical transceiver,a radio frequency transceiver, a GPS receiver, or any other type ofdevice that can send and/or receive information. Other examples ofcommunication units 242 may include short wave radios, cellular dataradios, wireless network radios, as well as universal serial bus (USB)controllers.

One or more input components 244 of computing device 210 may receiveinput. Examples of input are tactile, audio, and video input. Inputcomponents 244 of computing device 210, in one example, includes apresence-sensitive input device (e.g., a touch sensitive screen, a PSD),mouse, keyboard, voice responsive system, camera, microphone or anyother type of device for detecting input from a human or machine. Insome examples, input components 244 may include one or more sensorcomponents 252 one or more location sensors (GPS components, Wi-Ficomponents, cellular components), one or more temperature sensors, oneor more movement sensors (e.g., accelerometers, gyros), one or morepressure sensors (e.g., barometer), one or more ambient light sensors,and one or more other sensors (e.g., infrared proximity sensor,hygrometer sensor, and the like). Other sensors, to name a few othernon-limiting examples, may include a heart rate sensor, magnetometer,glucose sensor, olfactory sensor, compass sensor, step counter sensor.

One or more output components 246 of computing device 210 may generateoutput in a selected modality. Examples of modalities may include atactile notification, audible notification, visual notification, machinegenerated voice notification, or other modalities. Output components 246of computing device 210, in one example, includes a presence-sensitivedisplay, sound card, video graphics adapter card, speaker, cathode raytube (CRT) monitor, liquid crystal display (LCD), light emitting diode(LED) display, or any other type of device for generating output to ahuman or machine in a selected modality.

UI component 212 of computing device 210 may be similar to UI component112 of computing device 110 and includes display component 202 andpresence-sensitive input component 204. Display component 202 may be ascreen at which information (e.g., a visual indication) is displayed byUI component 212 while presence-sensitive input component 204 may detectan object at and/or near display component 202.

While illustrated as an internal component of computing device 210, UIcomponent 212 may also represent an external component that shares adata path with computing device 210 for transmitting and/or receivinginput and output. For instance, in one example, UI component 212represents a built-in component of computing device 210 located withinand physically connected to the external packaging of computing device210 (e.g., a screen on a mobile phone or a smartwatch). In anotherexample, UI component 212 represents an external component of computingdevice 210 located outside and physically separated from the packagingor housing of computing device 210 (e.g., a monitor, a projector, etc.that shares a wired and/or wireless data path with computing device210).

UI component 212 of computing device 210 may detect two-dimensionaland/or three-dimensional gestures as input from a user of computingdevice 210. For instance, a sensor of UI component 212 may detect auser's movement (e.g., moving a hand, an arm, a pen, a stylus, a tactileobject, etc.) within a threshold distance of the sensor of UI component212. UI component 212 may determine a two or three-dimensional vectorrepresentation of the movement and correlate the vector representationto a gesture input (e.g., a hand-wave, a pinch, a clap, a pen stroke,etc.) that has multiple dimensions. In other words, UI component 212 candetect a multi-dimension gesture without requiring the user to gestureat or near a screen or surface at which UI component 212 outputsinformation for display. Instead, UI component 212 can detect amulti-dimensional gesture performed at or near a sensor which may or maynot be located near the screen or surface at which UI component 212outputs information for display.

In accordance with the techniques of this disclosure, timing module 224may access list 226 that includes a plurality of time-based events. Eachtime-based event has a particular duration, such as a song, a podcast, avideo, a picture in a slide of a slideshow, a calendar event, anappointment, an audio book, an audio recording, a planned refrain fromaudio or video, or an access priority, among other things. Given thenature of the time-based events, list 226 may be any sequence of thetime-based events, potentially occurring consecutively if the time-basedevents are not statically connected to particular times. List 226 mayinclude the time-based events in and of itself, or list 226 may includepointers that direct timing module 224 to instances of the time-basedevents in library 228.

Timing module 224 may select, based at least in part on list 226 and theduration of each time-based event in list 226, a subset of time-basedevents from the plurality of time-based events in list 226. Timingmodule 224 may select the subset of time-based events from the pluralityof time-based events such that a sum of the durations for eachrespective time-based event in the subset of time-based events is lessthan or equal to an hour. However, in other examples, menu module 120may select the subsets using any other amount of time as the totalduration limit, such as 30 minutes, 2 hours, 3 hours, 4 hours, 6 hours,12 hours, 16 hours, or 24 hours, among other time limits. An order ofthe time-based events in the subset of time-based events may be a sameorder as an order in the list.

After timing module 224 generates the subset of time-based events fromlist 226, UI module 222 may generate a graphical user interface (e.g.,graphical user interface 160) that includes a graphical selector and anumber of graphical representations equal to the number of time-basedevents in the subset of time based events. Each graphical representationcorresponds to a different one of the time-based events from the subsetof time-based events. When generating the graphical user interface, UImodule 222 may size each graphical representation to be proportional, orat least correlative, to the duration of the time-based eventcorresponding to the respective graphical representation. In otherwords, a larger graphical representation will be associated with atime-based event that has a longer duration. In instances where the sizeis proportional to the duration, the portion of the graphicalrepresentation that may be proportional may be one of an area of thegraphical representation or a length of one side of the graphicalrepresentation, such as an arc along an interior circle of the graphicaluser interface, as the graphical representations may be arranged atleast partially around the graphical selector. UI module 222 may thenoutput, for display on UI component 212, the graphical user interface.

While there may be a limit on the total time duration of the items inthe subset, it may not be the case that sequential time-based events inlist 226 add up to exactly the time duration limit defined above. Insuch a case, the subset of time-based events includes a portion of afirst time-based event, the first time-based event being the finaltime-based event in the subset (e.g., the time-based event occurring atthe latest time out of all of the time-based events in the subset). Theportion of the first time-based event may be such that the sum of thedurations for each respective time-based event fully included in thesubset of time-based events and the duration of the portion of the firsttime-based event is equal to the hour. For instance, if a number oftime-based events add up to 58 minutes and 30 seconds, but the nexttime-based event in the order of list 226 is three minutes and 30seconds long, timing module 224 may treat that next time-based event asonly one minute and 30 seconds long such that the subset adds up to atotal of an hour. As time passes and portions of a current time-basedevent are passed (e.g., as a song is playing from the playlist), timingmodule may remove items at the front end of the subset and add inadditional portions of the truncated time-based event such until thattime-based event is fully included in the subset.

In some instances, UI module 222 may further match the graphicalrepresentations to an expected time that the time-based event is tooccur, generating the graphical representations to be output along theoutside of an analog clock face at a location that matches the expectedtime. In other words, timing module 224 may determine a current time.The graphical selector may be a minute hand of an analog clock, with theanalog clock showing the current time in the graphical user interface.Each of the graphical representations are sized and arranged such thatthe graphical selector points towards the graphical representation whenthe respective time-based event associated with the graphicalrepresentation is to occur. For instance, if a user presses play on apodcast playlist at a certain time, the graphical representations may beoutput such that the graphical representation associated with thecurrently playing podcast begins at the certain time and ends at thetime the podcast would end, and the graphical representation associatedwith the next podcast in the podcast playlist would begin at the pointthe previous graphical representation ends.

In such an instance where the graphical representations line up with thetime, the subset of time-based events may be chosen to fit a certaintime frame. For instance, the subset of time-based events may includeeach time-based event scheduled to occur within 45 minutes of thecurrent time and each time-based event that occurred within the 15minutes prior to the current time (e.g., the songs in a playlist thatwere played in the most recent 15 minutes, along with the songs thatwill play in the next 45 minutes). In other instances, the subset oftime-based events may include each time-based event scheduled to occurwithin 30 minutes of the current time and each time-based event thatoccurred within the 30 minutes prior to the current time (e.g., thesongs in a playlist that were played in the most recent 30 minutes,along with the songs that will play in the next 30 minutes). In otherinstances, the subset of time-based events include each time-based eventscheduled to occur within 60 minutes of the current time (e.g., only thesongs in the playlist that will play in the next hour of time, withsongs or portions of songs that are complete being removed from thesubset as they are passed). In still other instances, the subset oftime-based events include each time-based event scheduled to occurduring the hour of the current time (e.g., for the 5:00 hour, every songprojected to be played will be included in the subset, and at the 6:00hour, the subset will be replenished with the songs projected to beplayed in that hour).

In other instances, rather than showing the time, the radial selectormay initially be positioned in a static direction. In such instances,rather than the graphical representations being shown on the screen asthe minute hand travels around the clock face, the graphicalrepresentations cycle around the graphical selector as time passes.

Timing module 224 and UI module 222 may continue updating the graphicaluser interface such that the graphical user interface always shows thetime-based events occurring within a particular timeframe. Modules 222and 224 may do this by, on a minute-by-minute basis or asecond-by-second basis, or by any other denomination of time, removingportions of previous graphical representations representing a passedtime-based event and replacing those with portions of other graphicalrepresentations for upcoming time-based events. For instance, inexamples where the full next hour of songs are displayed in theinterface, as seconds tick by in the song currently playing, the portionof the graphical representation associated with the parts of the songthat have already passed may be replaced by UI module 222 with portionsof a graphical representation for a song that will be played an hourfrom the current time. In other instances, UI module 222 may update thegraphical user interface to include a future time-based event from list226 in place of a passed time-based event from list 226 at theconclusion of the passed time-based event. In other words, at theconclusion of a currently playing song, the graphical representationassociated with that song may be completely removed and replaced withone or more graphical representations of upcoming songs in the playlist.

The graphical selector may include a first endpoint fixed in thegraphical user interface. The first endpoint may be an endpoint of thegraphical selector farthest away from the graphical representations ofthe time-based events. For instance, when the graphical representationsare placed around a graphical selector, such as in a circle around theradial selector, the center of that interior circle may be the fixedendpoint, with the radial selector rotating around that fixed endpoint.In such instances, the graphical selector is at a first angular positionin the graphical user interface. UI module 222 may then receive anindication of user input at a portion of the graphical user interfacecorresponding to the graphical selector. The indication of user inputmay be a radial gesture moving the graphical selector around the firstendpoint in the graphical user interface. UI module 222 may then detectthat the indication of user input is no longer being received and outputa subsequent graphical user interface with the graphical selector at thefirst angular position. In other words, UI module 222 may detect userinput at the graphical selector that moves the graphical selector aroundin a circular motion, potentially such that the graphical selector ispointing towards a different graphical representation. When the userinput is released, the graphical selector may return to the previousposition. The first angular position may be one of a static direction ora representation of an amount of minutes in a current time (e.g., theminute hand of the current time represented by an analog clock face).

In some such instances, UI module 222 may detect that a graphicalrepresentation of a first time-based event is in the direction that thegraphical selector is pointing towards upon the detection of theindication of user input no longer being received. UI module 222 maythen select the first time-based event and perform an action using thefirst time-based event. One such action could be moving a position ofthe first time-based event within list 226 such that the firsttime-based event is inserted in place of a current time-based eventselected by the graphical selector when the graphical selector is in thefirst position and updating the graphical user interface to reflect theupdated list. An example of such an action would be stopping theplayback of a particular song in favor of playing the selected songimmediately.

Another example action could be moving the position of the firsttime-based event within list 226 such that the first time-based event isinserted immediately after a current time-based event selected by thegraphical selector when the graphical selector is in the first positionand updating the graphical user interface to reflect the updated list.An example of such an action would include taking the selected song andputting it in a “next” position for once the currently playing song hascompleted.

Another such action could be skipping every time-based event between thecurrent time-based event and the first time-based event in list 226,jumping forward or backward to that spot. In such an instance, UI module222 and timing module 224 may regenerate the entire graphical userinterface by selecting, based at least in part on the list and theduration of each time-based event, a second subset of time-based eventsfrom the plurality of time-based events beginning with the firsttime-based event. Timing module 224 may determine the second subset oftime-based events from the plurality of time-based events such that asum of the durations for each respective time-based event in the secondsubset of time-based events is less than or equal to an hour, and suchthat an order of the time-based events in the second subset oftime-based events is a same order as the order in the list. UI module222 may then update the graphical user interface to reflect the secondsubset of time-based event.

When the user is scrolling through list 226 in the manner describedabove, the user may not wish to be limited to only the subset oftime-based events currently shown through graphical representations onthe screen. As such, while receiving the indication of user input, UImodule 222 may update, based on a current angular position of thegraphical selector during the user input, the graphical user interfacesuch that the graphical user interface displays the graphicalrepresentation for each time-based event in the plurality of time-basedevents that occur within a first amount of time after the time indicatedby the current angular position and the graphical representation foreach time-based event in the plurality of time-based events that occurwithin a second amount of time prior to the time indicated by thecurrent angular position. For instance, when the interface resembles ananalog clock face and the user is moving the minute hand, UI module 222may continuously update the user interface such that a certain amount oftime in the future and a certain amount of time in the past isrepresented as the user moves the minute hand around the clock face tochange the time. UI module 222 may update the list such that the next 45minutes and previous 15 minutes of time-based events relative to thecurrent time indicated by the graphical selector is shown in thegraphical user interface, such that the next 30 minutes and previous 30minutes of time-based events relative to the current time indicated bythe graphical selector is shown in the graphical user interface, suchthat the next 15 minutes and previous 45 minutes of time-based eventsrelative to the current time indicated by the graphical selector isshown in the graphical user interface, such that the next 60 minutes oftime-based events relative to the current time indicated by thegraphical selector is shown in the graphical user interface, or suchthat the current hour's time-based events (i.e., the time-based eventsin the same hour as the hour hand while the minute hand is moved aroundthe clock face). In other words, the first amount of time and secondamount of time may be dynamic amounts of time such that a sum of thefirst amount of time and second amount of time are equal to 60 minutesand such that the first amount of time is equal to a number of minutesthat, when added to a minutes portion of a time indicated by the currentangular position, cause the summed minutes to equal 60 minutes.

In some examples, timing module 224 may add a new time-based event tolist 226. If timing module 224 determines that, based on the position ofthe new time-based event within list 226 and based on the previouslydetermined subset of time-based events, whether the new time-based eventis set to occur prior to a final time-based event in the subset oftime-based events. If the new time-based event is set to occur prior toa final time-based event in the subset of time-based events, timingmodule 224 may reset the subset and select, based at least in part onthe updated list and the duration of each time-based event, a secondsubset of time-based events from the plurality of time-based events. Thesecond subset of time-based events includes the new time-based event,and timing module 224 determines the second subset of time-based eventsfrom the plurality of time-based events such that a sum of the durationsfor each respective time-based event in the second subset of time-basedevents is less than or equal to an hour, and such that an order of thetime-based events in the second subset of time-based events is a sameorder as the order in the list. UI module 222 may generate an updatedgraphical user interface that includes the graphical selector and anumber of graphical representations equal to the number of time-basedevents in the second subset of time based events, with each graphicalrepresentation corresponding to a different time-based event from thesecond subset of time-based events. UI module 222 may generate thegraphical representations such that a size of each graphicalrepresentation is proportional to the duration of the time-based eventcorresponding to the respective graphical representation, as previouslydescribed. The graphical representations are arranged at least partiallyaround the graphical selector. UI module 222 may then output, fordisplay on UI component 212, the updated graphical user interface.

Timing module 224 may also insert an overlapping transitional effectnear a conclusion of the time-based events during playback, such as whenthe time-based events are some sort of media. The overlappingtransitional effect may continue into a beginning portion of a secondtime-based event immediately following the first time-based event in thesubset of time-based events. For instance, timing module 224 may createan overlap of the first time-based event and the second time-basedevent, a cutting of the first time-based event and the second time-basedevent, a splicing of the first time-based event and the secondtime-based event, a fading of the first time-based event into the secondtime-based event, or a joining of the first time-based event and thesecond time-based event.

In some instances, the plurality of time-based events in list 226 may beindividual events for the user, such as a personal playlist. In otherinstances, the plurality of time-based events in list 226 are compiledfrom a group of two or more users, such as in a party setting. Ingeneral, a party setting may be a function where multiple users eachgenerate a personal list of time-based events, such as a personalplaylist of songs, and a host device compiles each of the personal liststo generate a single compiled list that is shared with each of thesecondary devices controlled by other users. The host device may be theonly device that actually outputs the time-based events, but each devicemay be able to view and update the list. This setting would beparticularly useful for gatherings were multiple users want tocontribute to the musical playback but users do not want to continueswitching and pairing different devices to potential playback devices.

For instance, computing device 210 may be considered a host device forthe party. Timing module 224 may compile the list by determining anorder for the group of two or more users. The order includes one or moreindications of each user in the group of two or more users. While thereremains indications in the order, timing module 224 may retrieve a nexttime-based event to be added to the list, the next time-based eventbeing associated with a next user in the order for the group of two ormore users, and the next time-based event being a next time-based eventon a respective personal list for the next user stored on a secondarycomputing device associated with a next user in the order. In otherwords, timing module 224 may determine an order as cycling through theusers in the group of two or more users, placing an amount ofindications for a particular user in the order equal to a number oftime-based events that user has in their personal lists. When a userruns out of items, timing module 224 may refrain from putting additionalindications in the order for that user. Once all users have beenexhausted, timing module 224 may then begin following the order toextract time-based events from the personal lists to place in thecompiled lists.

In another instance, computing device 210 may skip adding theindications to the initial order. In other words, timing module 224 may,while at least one user from the group of two or more uses has atime-based event in a respective personal list that has not beeninserted into the list, cycle through each of the group of two or moreusers and, if a next user in the cycle has a time-based event in arespective personal list that has not been inserted into the list,insert a next time-based event from the respective personal list intolist 226.

In some instances, if a same time-based item is included in multipleusers' lists, timing module 224 may either skip the repeat instance ofthe time-based event, opting to select either a new time-based eventfrom the repeater's personal list or skipping the repeater altogether,or add a second instance of the time-based event into the compiled list.

When initially determining the sequence at which the order will becreated, timing module 224 may first determine one or more of a totalnumber of time-based events in the respective personal list of each userin the group of two or more users or a total duration of the time-basedevents in the respective personal list of each user in the group of twoor more users. Timing module 224 may place users with longer durationsof lists or more items in their list earlier in the sequence.

In other instances, computing device 210 may be a secondary computingdevice. In such instances, when UI module 222 is accessing list 226, UImodule 222 may retrieve list 226 from, and as compiled by, one of a hostdevice or a server in communication with the host device. In someinstances when computing device 210 is a secondary device, eachgraphical representation in the graphical user interface may include anindication of a user from the group of two or more users that insertedthe respective time-based event into the list. In some furtherinstances, each graphical representation that is associated with atime-based event that was not inserted into the list by the user of thesecondary device does not include indications of the content of therespective time-based event.

As a note, the compilation of the party list is not exclusive to anapplication that outputs graphical representations of the time-basedevents in the manner described herein. In general, techniques associatedwith the compilation of the party list can be applied to any mediaapplication and any layout for the graphical user interfaces within saidapplication.

With regards to FIGS. 3-11 , the graphical user interfaces are generallyshown with the time-based events as audio songs, and the associateddescription will include similar terminology. However, it is to beunderstood that any time-based events may be used in accordance with thetechniques and description of FIGS. 3-11 . For instance, the time-basedevents may include any of, or any mix of, a song, a podcast, a video, apicture in a slide of a slideshow, a calendar event, an appointment, anaudio book, an audio recording, a planned refrain from audio or video,or an access priority (e.g., a next customer in a queue for an at-homeservice, a customer's place in a line, such as in an amusement park, orany other queue-based activity).

Further, the graphical representations will only, generally, include thereference number in FIGS. 3-11 . However, in accordance with thetechniques described herein, it should be understood that the computingdevice that generates these graphical user interfaces may generate eachof the graphical representations such that a user may visualize thetime-based event represented by the respective graphical representationin some way. This information could include album art of the song orpodcast represented by the respective graphical representation, a titlepage of a video represented by the respective graphical representation,an artist name for a song represented by the respective graphicalrepresentation, a podcast host for a podcast represented by therespective graphical representation, a song, video, or podcast title forthe media represented by the respective graphical representation, acolor classification for an event represented by the respectivegraphical representation, cover art for an audio book or portion of anaudio book represented by the respective graphical representation, anindication of a planned audio/video refrain represented by therespective graphical representation, a name or address of the customerhaving the access priority represented by the respective graphicalrepresentation, or any other information that could give the user someindication of what time-based event is represented by the respectivegraphical representation.

FIG. 3 is an example radial selection user interface 360 with an analogwatch face, in accordance with one or more of the techniques describedherein. User interface 360 may be output on a UI component of acomputing device, such as UI component 212 of computing device 210. Userinterface 360 includes radial selection element 364 and various eventindications 366A-366P (collectively, indications 366). Each ofindications 366 is associated with a particular time-based event, eachof which has a particular duration. A size of each respective indication366 (e.g., the length of the inner arc of indication 366) isproportional to the duration of the associated time-based event. Userinterface 360 includes event information 362, which includes informationof a particular one of indications 366 that is currently playing orselected by radial selection element 364 (i.e., indication 366F). Userinterface 360 also includes icons 368A-368D (collectively, icons 368).Each of icons 368 may present a different interface within theapplication when selected.

As shown in FIG. 3 , radial selection element 364 is the minute hand ofan analog watch face that also includes hour hand 370. In this example,each of graphical indications 366A-366P are output in a locationassociated with the time the associated time-based event would occur ifthe computing device continued playing the time-based events with thecurrent settings. For instance, at the time of 11:21, the computingdevice may execute time-based event 366F. Similarly, as the computingdevice continues to play or execute the time-based events, at time11:30, the computing device would play time-based event 366I. Radialselection element 364 may also include an arrow to more preciselyindicate which of graphical representations 366 radial selection element364 is currently pointing towards.

Further, as shown in FIG. 3 , graphical user interface 360 may includesecond hand 382 in the analog watch face. In addition to showing anadditional level of precision in displaying the time within graphicaluser interface 360, second hand 382 may provide an additional level ofprecision for navigation within graphical user interface 360. Forinstance, second hand 382 may be used as a fast forward/rewind element.In some examples, the computing device may receive an indication of userinput at second hand 382. The user input may consist of a radial swipe,moving second hand 382 forwards or backwards some amount of angulardistance. For instance, if the user input moves second hand 382backwards (i.e., counter clockwise) an angular distance that isequivalent of 20 seconds, the computing device may rewind the currentlyplaying song 20 seconds, snapping second hand 382 back to the currenttime and moving graphical representations 366 around the analog watchface accordingly. Similarly, if the user input moves second hand 382forwards (i.e., clockwise) an angular distance that is equivalent of 15seconds, the computing device may fast forward the currently playingsong 15 seconds, snapping second hand 382 back to the current time andmoving graphical representations 366 around the analog watch faceaccordingly.

While second hand 382 is described herein as relating to “seconds”, inother instances, including those where the length of time represented bythe circle of time-based events is not equal to an hour, the fastforward/rewind capabilities and precision movement techniques describedabove with respect to second hand 382 may be used for time incrementsother than seconds. For instance, if used in a scientific setting wherethe time-based events are scientific events, such as schedules of whento add ingredients to a chemical blend, schedules of when to affect thebiology of a specimen, or when to execute a method call or alter avariable in computer code, second hand 382 may correspond to millisecondadjustments, microsecond adjustments, nanosecond adjustments, or anyother adjustment that is adequate for such time-based events. As such,second hand 382 may act as a precision hand as opposed to strictly aclock hand that tracks only seconds.

In the example of FIG. 3 , graphical user interface 360 includes thedynamic play/pause indication 380 on the watch face in the center of thewatch face, such that radial selection element 364, hour hand 370, andsecond hand 382 appear to extend outward from dynamic play/pauseindication 380.

FIG. 4 is an example radial selection user interfaces 460A-460B with anillustration of the time-based events moving around the radial selectoras time passes, in accordance with one or more of the techniquesdescribed herein. User interfaces 460A and 460B may be output on a UIcomponent of a computing device, such as UI component 212 of computingdevice 210. User interfaces 460A and 460B include radial selectionelement 464 and various event indications 466A-466R (collectively,indications 466). Each of indications 466 is associated with aparticular time-based event, each of which has a particular duration. Asize of each respective indication 466 (e.g., the length of the innerarc of indication 466) is proportional to the duration of the associatedtime-based event. User interfaces 460A and 460B include eventinformation 462A and 462B, respectively, which include information of aparticular one of indications 466 that is currently playing or selectedby radial selection element 464 (i.e., indication 466A and 466B,respectively). User interfaces 460A and 460B also include icons468A-468D (collectively, icons 468). Each of icons 468 may present adifferent interface within the application when selected.

In the example of FIG. 4 , graphical user interface 460A shows aninitial layout of songs as the initial subset is generated. This subsetinitially includes the time-based events associated with graphicalrepresentations 466A-466P.

Over time, the song associated with graphical representation 466A hasplayed and completed. As such, in graphical user interface 460B,graphical representation 466A has been removed from the playlist. Giventhe length of the song associated with graphical representation 466A,there may be two additional songs (associated with graphicalrepresentations 466Q and 466R) that replace the played song in thesubset. As the song associated with 466B starts playing on the computingdevice, graphical user interface 460B has replaced graphical userinterface 460A. During that replacement, the computing device updatesthe subset to include the two new songs, and regenerates the graphicaluser interface, or generates graphical user interface 460B, using theupdated subset and the updated positions of each of the items within thesubset and the list.

FIG. 5 is an example radial selection user interfaces 560A-560B with ananalog watch face and an illustration of the time-based events stayingstationary, but updating, around the radial selector as time passes, inaccordance with one or more of the techniques described herein. Userinterfaces 560A and 560B may be output on a UI component of a computingdevice, such as UI component 212 of computing device 210. Userinterfaces 560A and 560B include radial selection element 564 andvarious event indications 566A-566P (collectively, indications 566).Each of indications 566 is associated with a particular time-basedevent, each of which has a particular duration. A size of eachrespective indication 566 (e.g., the length of the inner arc ofindication 566) is proportional to the duration of the associatedtime-based event. User interfaces 560A and 560B includes eventinformation 562A and 562B, respectively, which include information of aparticular one of indications 566 that is currently playing or selectedby radial selection element 564 (i.e., indication 566I and 566M,respectively). User interfaces 560A and 560B also include icons568A-568D (collectively, icons 568). Each of icons 568 may present adifferent interface within the application when selected.

In the example of FIG. 5 , the dynamic play/pause button 580 is notlocated within the analog clock face, but instead near event information562A and 562B. In this manner, such an indication may be generatedanywhere on screen that is suitable for such an indication. In theexample of FIG. 5 , graphical user interfaces 560A and 560B also includea volume icon 582, which the user may provide input on to adjust thevolume of the playback. In this way, other icons other than the onesshown throughout these figures may be included in a typical graphicaluser interface.

Further, in the example of FIG. 5 , and similar to the example of FIG. 3, graphical user interfaces 560A and 560B may include the analog clockconfiguration of radial selector elements 564A and 564B as the minutehand and hour hands 570A and 570B. The computing device may beconfigured to select the subset so that each song played in the previous15 minutes and each song that will play in the next 45 minutes isdynamically included in the subset that is ultimately displayed in themanner described throughout.

As such, at time 11:30, the computing device is playing the songassociated with graphical representation 566I. The previous songs thathave been played in the prior 15 minutes include the songs associatedwith graphical representations 566E-566H. As a note, it is not necessarythat graphical representation 566E is a complete representation of thesong associated with graphical representation 566E. If the songassociated with graphical representation 566E began playing prior to11:15, the computing device may truncate graphical representation 566Eto the 11:15 mark as that is 15 minutes prior to the current time.

As the computing device continues to play the songs associated with thevarious graphical representations for another 15 minutes, as shown ingraphical user interface 560B, the graphical representations of thesongs played between 11:15 and 11:30 (i.e., graphical representations566E-566H) are removed and replaced with graphical representations ofthe songs that will be played between 12:15 and 12:30 (i.e., graphicalrepresentations 566Q-566S), as that time frame is now included in the“within the next 45 minute” time frame. As a note, it is not necessarythat graphical representation 566S is a complete representation of thesong associated with graphical representation 566S. If the songassociated with graphical representation 566S continues playing after12:30, the computing device may truncate graphical representation 566Sto the 12:30 mark as that is 45 minutes prior to the current time.

FIGS. 6A-6B are example radial selection user interfaces 660A-660C withan analog watch face as the user uses the minute hand of the watch faceto scroll and select a different time-based element, in accordance withone or more of the techniques described herein. User interface 660A-660Cmay be output on a UI component of a computing device, such as UIcomponent 212 of computing device 210. User interfaces 660A-660C includeradial selection element 664 and various event indications 666A-666P(collectively, indications 666). Each of indications 666 is associatedwith a particular time-based event, each of which has a particularduration. A size of each respective indication 666 (e.g., the length ofthe inner arc of indication 666) is proportional to the duration of theassociated time-based event. User interfaces 660A-660C include eventinformation 662A, 662B, and 662A again, respectively, which each includeinformation of a particular one of indications 666 that is currentlyplaying or selected by radial selection element 664 (i.e., indication666B, 666H, and 666B again, respectively). User interfaces 660A-660Calso include icons 668A-668D (collectively, icons 668). Each of icons668 may present a different interface within the application whenselected.

In the initial graphical user interface 660A, the song associated withgraphical representation 666B is playing. While the computing device isplaying the song associated with graphical representation 666B, thecomputing device receives an indication of user input at radial selector664 and begins to swipe radially around the analog clock face to selectanother graphical representation (and, accordingly, another song).

To track the radial gesture, the computing device may simply move radialselector 664 to follow the gesture. In other examples, such as theexample of FIG. 6A, the computing device may instead output dottedelement 672, or some other element that is visually distinct from radialselector 664, to track the gesture as it moves radially around theanalog clock face. While the example of FIG. 6A describes outputtingdotted element 672 when radial selector 664 is selected via user input,in other examples, the user may not need to provide input on radialselector 664 at first. Rather, if the computing device receives anindication of user input interacting with any portion of the watch face,the computing device may output dotted element 672 extending from thecenter of the watch face and through the point where the input isreceived towards one of graphical representations 666.

Also, in the example of graphical user interface 660B, a cancel icon 674may be output. In the instance that a user decides they do not wish toperform an action on any subsequent song after selecting the radialselector 664, the user may instead navigate their input tool to cancelicon 674 to cancel the input.

In the example of FIG. 6A, the user drags dotted element 672 to point atgraphical representation 666H. Event information 662B is updated to showthe information of the song associated with graphical representation666H. At this point, the user releases the gesture.

In response to the user releasing the gesture, the computing devicedetects that the indication of user input has ended. As such, thecomputing device generates and outputs graphical user interface 660C. Aspart of generating graphical user interface 660C, the computing deviceperforms an action on the song associated with graphical representation666H. In the example of FIG. 6B, the action includes changing theposition of the song associated with graphical representation 666H inthe list to be directly after the song associated with graphicalrepresentation 666B. In other examples, the computing device canimmediately begin playing the song associated with graphicalrepresentation 666H, skipping the remainder of the song associated withgraphical representation 666B and thereby truncating graphicalrepresentation 666B at the current time (i.e., 7:05). In still otherexamples, the computing device can remove the remainder of the songassociated with graphical representation 666B, the song associated withgraphical representation 666D, the song associated with graphicalrepresentation 666E, the song associated with graphical representation666F, and the song associated with graphical representation 666G fromthe list, thereby skipping those songs and immediately playing the songassociated with graphical representation 666H, moving each subsequentsong up in the list.

While the example of FIGS. 6A and 6B describes an action that isperformed on graphical representation 666H, in other instances, thecomputing device may only display event information 662B when radialselection element 664 or dotted element 672 (depending on the specificimplementation) is directed towards graphical representation 666H. Uponrelease of the user input on radial selection element 664 or dottedelement 672, no action may be performed, and radial selection element664 may simply return to the original angular position (or dottedelement 672 may disappear) without changing the positions of any of thetime-based events associated with graphical representations 666.Instead, if the user wishes to change the position of the time-basedevents with any of graphical representations 666, the computing devicemay receive some indication of user input on the one of graphicalrepresentations 666 itself. For instance, the computing device mayreceive an indication of a hold-and-drag user input on graphicalrepresentation 666H, dragging graphical representation 666H to a newlocation within graphical user interface 660. Based on the new locationof graphical representation 666H after the user input, the computingdevice may update the list accordingly and regenerate graphical userinterface 660 based on the updated list order.

In still other instances, multiple graphical representations 666 may bemoved at a same time. For instance, the computing device may receivemultiple indications of tap user inputs on various graphicalrepresentations 666, thereby selecting those graphical representations.The computing device may then receive an additional indication of ahold-and-drag user input on one of the selected graphicalrepresentations, dragging each of the selected graphical representationsto a new location within graphical user interface 660. Based on the newlocation of the selected graphical representations after the userinputs, the computing device may update the list accordingly andregenerate graphical user interface 660 based on the updated list order.

FIG. 7 is an example circular radial selection user interface 760 withan analog watch face, in accordance with one or more of the techniquesdescribed herein. User interface 760 may be output on a UI component ofa computing device, such as UI component 212 of computing device 210.User interface 760 includes radial selection element 764 and variousevent indications 766A-766P (collectively, indications 766). Each ofindications 766 is associated with a particular time-based event, eachof which has a particular duration. A size of each respective indication766 (e.g., the length of the inner arc of indication 766 or an area ofthe indication) is proportional to the duration of the associatedtime-based event. User interface 760 includes event information 762,which includes information of a particular one of indications 766 thatis currently playing or selected by radial selection element 764 (i.e.,indication 766N).

In the example of FIG. 7 , graphical user interface 760 is a circularwatch face for a circular smartwatch device. However, in other examples,the smartwatch display may have a different shape, such as a square orrectangle with rounded corners. In such instances, graphical userinterface 760 may take the shape of the smartwatch display, eitherkeeping the circular analog watch face and extending each of graphicalrepresentations 766 to the edge of the display or molding the entireshape of graphical user interface 760, including both the analog clockface and graphical representations 766, to fit the shape of thesmartwatch display.

As smartwatch devices may have limited graphical real estate due to thesmaller display components on such devices. In some instances, ratherthan using the radial selector element to select the different graphicalrepresentations 766 of time-based events, the computing device mayreceive inputs directly selecting one of graphical representations 766when a user wishes to learn more information about or perform anyadjustments on one of graphical representations 766. In such instances,radial selector 764 may still indicate which time-based event iscurrently playing, but may not be movable. While this instance isdescribed with respect to a smartwatch device, this selection techniquemay be used in implementations on any devices as an alternative oradditional method for selecting graphical representations 766 of varioustime-based events.

FIG. 8 is an example radial selection user interface 860 output on ahost device where the time-based events are gathered from multipleusers, in accordance with one or more of the techniques describedherein. User interface 860 may be output by the computing device whenparty icon 868B is selected. User interface 860 may be output on a UIcomponent of a computing device, such as UI component 212 of computingdevice 210. User interface 860 includes radial selection element 864 andvarious event indications 866A-866P (collectively, indications 866).Each of indications 866 is associated with a particular time-basedevent, each of which has a particular duration. A size of eachrespective indication 866 (e.g., the length of the inner arc ofindication 866) is proportional to the duration of the associatedtime-based event. User interface 860 includes event information 862,which includes information of a particular one of indications 866 thatis currently playing or selected by radial selection element 864 (i.e.,indication 866A). User interface 860 also includes icons 868A-868D(collectively, icons 868). Each of icons 868 may present a differentinterface within the application when selected.

As described throughout the disclosure, graphical representations 866may include any information descriptive of the time-based eventassociated with the particular one of graphical representations 866. Asthe host device, the computing device in FIG. 8 may include informationin the graphical representation 866 indicating which user added therespective time-based event to the compiled list. For instance, user ‘M’may have included songs associated with graphical representations 866A,866E, 866I, 866L, and 866N in their personal list. User ‘T’ may haveincluded songs associated with graphical representations 866B, 866F, and866J in their personal list. User ‘G’ may have included songs associatedwith graphical representations 866C, 866G, 866K, 866M, 866O, and 866P intheir personal list. Finally, User ‘A’ may have included songsassociated with graphical representations 866D and 866H in theirpersonal list. When compiling this list, the host device may cyclethrough users M, T, G, and A, retrieving songs from their personallists, so long as the users have songs remaining in their personallists, until the personal list for each of users M, T, G, and A havebeen exhausted.

FIG. 9 is an example radial selection user interface 960 output on asecondary device where the time-based events are gathered from multipleusers, in accordance with one or more of the techniques describedherein. User interface 960 may be output on a UI component of acomputing device, such as UI component 212 of computing device 210. Userinterface 960 includes radial selection element 964 and various eventindications 966A-966P (collectively, indications 966). Each ofindications 966 is associated with a particular time-based event, eachof which has a particular duration. A size of each respective indication966 (e.g., the length of the inner arc of indication 966) isproportional to the duration of the associated time-based event. Userinterface 960 includes event information 962, which includes informationof a particular one of indications 966 that is currently playing orselected by radial selection element 964 (i.e., indication 966A). Userinterface 960 also includes icons 968A-968D (collectively, icons 968).Each of icons 968 may present a different interface within theapplication when selected.

The display on a secondary device, in graphical user interface 960, maybe different than graphical user interface 860 in that graphical userinterface 960 may not show the full information of the upcoming songs.Instead, graphical user interface 960 may only show the user who addedthe song associated with the respective graphical user interface if theuser of the secondary device did not add the song. For instance, if thesecondary device outputting graphical user interface 960 is for user ‘M’of FIG. 8 , graphical user interface 960 may include full informationfor graphical representations 966A, 966E, 966I, 966L, and 966N, and mayonly include user information for the remaining graphicalrepresentations 966. Graphical user interface 960 may or may not includeevent information 962 when the host device is playing a song notinserted into the compiled list by the user.

FIG. 10 is an example radial selection user interface 1060 output on asecondary device where the time-based events are gathered from multipleusers and where a user wishes to change the order of their events, inaccordance with one or more of the techniques described herein. Userinterfaces 1060A and 1060B may be output on a UI component of acomputing device, such as UI component 212 of computing device 210. Userinterfaces 1060A and 1060B include radial selection element 1064 andvarious event indications 1066A-1066P (collectively, indications 1066).Each of indications 1066 is associated with a particular time-basedevent, each of which has a particular duration. A size of eachrespective indication 1066 (e.g., the length of the inner arc ofindication 1066) is proportional to the duration of the associatedtime-based event. User interfaces 1060A and 1060B include eventinformation 1062, which includes information of a particular one ofindications 1066 that is currently playing or selected by radialselection element 1064 (i.e., indications 1066I and 1066B,respectively). User interface 1060 also includes icons 1068A-1068D(collectively, icons 1068). Each of icons 1068 may present a differentinterface within the application when selected.

In the example of FIG. 10 , the user of the secondary device outputtinggraphical user interfaces 1060A and 1060B may wish to dynamically changethe order of their songs within the playlist. As such, at a timecorresponding to the output of graphical user interface 1060A, thesecondary device may receive an indication of user input at radialselector 1064, moving dotted element 1072 to point at graphicalrepresentation 1066I. The secondary device may then detect the releaseof the user input while dotted element 1072 is pointing at graphicalrepresentation 1066I.

In response to detecting this release of the user input, the secondarydevice may perform an action on the song associated with graphicalrepresentation 1066I. In the instant case, the secondary device may movethe song associated with graphical representation 1066I to the slot forthe user's next song in the list (i.e., the slot shown by graphicalrepresentation 1066E). As such, in graphical user interface 1060B, thesecondary device generates graphical user interface 1060B to reflect theupdate in order without violating the order implemented by the hostdevice, swapping the songs associated with graphical representations1066E and 1066I.

FIG. 11 is an example radial selection user interface 1160 with ananalog watch face and a rounded, rectangular list that may be used toadd elements to the list, in accordance with one or more of thetechniques described herein. User interface 1160 may be output on a UIcomponent of a computing device, such as UI component 212 of computingdevice 210. User interface 1160 includes radial selection element 1164and various event indications 1166A-1166P (collectively, indications1166). Each of indications 1166 is associated with a particulartime-based event, each of which has a particular duration. A size ofeach respective indication 1166 (e.g., the length of the inner arc ofindication 1166) is proportional to the duration of the associatedtime-based event. User interface 1160 includes event information 1162,which includes information of a particular one of indications 1166 thatis currently playing or selected by radial selection element 1164 (i.e.,indication 1166F). User interface 1160 also includes icons 1168A-1168D(collectively, icons 1168). Each of icons 1168 may present a differentinterface within the application when selected.

The example of FIG. 11 shows how a user may dynamically add songs to thelist. When icon 1168D is selected, the analog clock face may change tobe a different shape, such as a rounded rectangle. While shown in thisinstance as a different shape, it should be understood that the shapethat includes radial selector 1164 may be any shape at any time duringany of the functions described in respect to any other figure, at anytime, including squared rectangles, rounded rectangles, circles, ovals,or any other shape suitable to enclose radial selector 1164.

Graphical user interface 1160 shows search field 1172, where a user maysearch for additional songs to add to the playlist shown in graphicaluser interface 1160. In the example of FIG. 11 , search field 1172includes the phrase “Song”, and search results field 1174 includesvarious songs with the phrase “Song” in the title. The user may selectany of these songs and drag and drop them into the radial interface atthe location the user wishes to hear the song. The computing device mayupdate the list, and thereby update the subset of the list and thegraphical user interface, as needed based on the location of where theuser drops the newly added song.

While the example of FIG. 11 shows an instance where the analog clockface is still visible, in other examples, this configuration may lookdifferent. For instance, one of search field 1172 or search resultsfield 1174 may cover the entirety of the analog clock face in otherexamples. In some other instances, a graphical keyboard may be displayedthat covers some portion of graphical user interface 1160.

FIG. 12 is a flow chart illustrating an example mode of operation. Thetechniques of FIG. 12 may be performed by one or more processors of acomputing device, such as computing device 110 of FIG. 1 and/orcomputing device 210 illustrated in FIG. 2 . For purposes ofillustration only, the techniques of FIG. 12 are described within thecontext of computing device 210 of FIG. 2 , although computing deviceshaving configurations different than that of computing device 210 mayperform the techniques of FIG. 12 .

In accordance with the techniques described herein, timing module 224accesses a list that includes a plurality of time-based events (1202).Each time-based event has a particular duration. Timing module 224selects, based at least in part on the list and the duration of eachtime-based event, a subset of time-based events from the plurality oftime-based events (1204). The subset of time-based events from theplurality of time-based events is determined such that a sum of thedurations for each respective time-based event in the subset oftime-based events is less than or equal to an hour. Further, an order ofthe time-based events in the subset of time-based events is a same orderas an order in the list. UI module 222 generates a graphical userinterface that includes a graphical selector and a number of graphicalrepresentations equal to the number of time-based events in the subsetof time based events (1206), each graphical representation correspondingto a different time-based event from the subset of time-based events. Asize of each graphical representation is proportional to the duration ofthe time-based event corresponding to the respective graphicalrepresentation. Further, the graphical representations are arranged atleast partially around the graphical selector. UI module 222 outputs,for display on UI component 212, the graphical user interface (1208).

It is to be recognized that depending on the example, certain acts orevents of any of the techniques described herein can be performed in adifferent sequence, may be added, merged, or left out altogether (e.g.,not all described acts or events are necessary for the practice of thetechniques). Moreover, in certain examples, acts or events may beperformed concurrently, e.g., through multi-threaded processing,interrupt processing, or multiple processors, rather than sequentially.

In one or more examples, the functions described may be implemented inhardware, software, firmware, or any combination thereof. If implementedin software, the functions may be stored on or transmitted over as oneor more instructions or code on a computer-readable medium and executedby a hardware-based processing unit. Computer-readable media may includecomputer-readable storage media, which corresponds to a tangible mediumsuch as data storage media, or communication media including any mediumthat facilitates transfer of a computer program from one place toanother, e.g., according to a communication protocol. In this manner,computer-readable media generally may correspond to (1) tangiblecomputer-readable storage media which is non-transitory or (2) acommunication medium such as a signal or carrier wave. Data storagemedia may be any available media that can be accessed by one or morecomputers or one or more processors to retrieve instructions, codeand/or data structures for implementation of the techniques described inthis disclosure. A computer program product may include acomputer-readable medium.

By way of example, and not limitation, such computer-readable storagemedia can comprise RAM, ROM, EEPROM, CD-ROM or other optical diskstorage, magnetic disk storage, or other magnetic storage devices, flashmemory, or any other medium that can be used to store desired programcode in the form of instructions or data structures and that can beaccessed by a computer. Also, any connection is properly termed acomputer-readable medium. For example, if instructions are transmittedfrom a website, server, or other remote source using a coaxial cable,fiber optic cable, twisted pair, digital subscriber line (DSL), orwireless technologies such as infrared, radio, and microwave, then thecoaxial cable, fiber optic cable, twisted pair, DSL, or wirelesstechnologies such as infrared, radio, and microwave are included in thedefinition of medium. It should be understood, however, thatcomputer-readable storage media and data storage media do not includeconnections, carrier waves, signals, or other transitory media, but areinstead directed to non-transitory, tangible storage media. Disk anddisc, as used herein, includes compact disc (CD), laser disc, opticaldisc, digital versatile disc (DVD), floppy disk and Blu-ray disc, wheredisks usually reproduce data magnetically, while discs reproduce dataoptically with lasers. Combinations of the above should also be includedwithin the scope of computer-readable media.

Instructions may be executed by one or more processors, such as one ormore digital signal processors (DSPs), general purpose microprocessors,application specific integrated circuits (ASICs), field programmablelogic arrays (FPGAs), or other equivalent integrated or discrete logiccircuitry. Accordingly, the term “processor,” as used herein may referto any of the foregoing structure or any other structure suitable forimplementation of the techniques described herein. In addition, in someaspects, the functionality described herein may be provided withindedicated hardware and/or software modules configured for encoding anddecoding, or incorporated in a combined codec. Also, the techniquescould be fully implemented in one or more circuits or logic elements.

The techniques of this disclosure may be implemented in a wide varietyof devices or apparatuses, including a wireless handset, an integratedcircuit (IC) or a set of ICs (e.g., a chip set). Various components,modules, or units are described in this disclosure to emphasizefunctional aspects of devices configured to perform the disclosedtechniques, but do not necessarily require realization by differenthardware units. Rather, as described above, various units may becombined in a codec hardware unit or provided by a collection ofinteroperative hardware units, including one or more processors asdescribed above, in conjunction with suitable software and/or firmware.

Various examples of the disclosure have been described. Any combinationof the described systems, operations, or functions is contemplated.These and other examples are within the scope of the following claims.

What is claimed is:
 1. A method comprising: accessing, by one or moreprocessors of a computing device, a list that includes a plurality oftime-based events, wherein each time-based event has a particularduration; selecting, by the one or more processors, and based at leastin part on the list and the duration of each time-based event, a subsetof time-based events from the plurality of time-based events, whereinthe subset of time-based events from the plurality of time-based eventsis determined such that a sum of the durations for each respectivetime-based event in the subset of time-based events is less than orequal to an hour, wherein the plurality of time-based events includes atleast one time-based event not included in the subset of time-basedevents, and wherein an order of the time-based events in the subset oftime-based events is a same order as an order in the list; generating,by the one or more processors, a graphical user interface that includesa graphical representation for each of the time-based events in thesubset of time-based events, wherein a number of graphicalrepresentations generated is equal to the number of time-based events inthe subset of time based events, and each graphical representationcorresponding to a different time-based event from the subset oftime-based events; and outputting, by the one or more processors and fordisplay on a display component, the graphical user interface.
 2. Themethod of claim 1, wherein the computing device comprises one of asmartphone, a tablet, a laptop, a desktop, a smartwatch, a smartrefrigerator, a smart appliance, a musical instrument, a server device,or a cloud device.
 3. The method of claim 1, wherein the subset oftime-based events include each time-based event scheduled to occurwithin 45 minutes of a current time and each time-based event thatoccurred within the 15 minutes prior to the current time.
 4. The methodof claim 1, wherein the subset of time-based events include eachtime-based event scheduled to occur within 30 minutes of a current timeand each time-based event that occurred within the 30 minutes prior tothe current time.
 5. The method of claim 1, wherein the subset oftime-based events include each time-based event scheduled to occurwithin 60 minutes of a current time.
 6. The method of claim 1, whereinthe subset of time-based events include each time-based event scheduledto occur during the hour of a current time.
 7. The method of claim 1,further comprising: inserting, by the one or more processors, anoverlapping transitional effect near a conclusion of a first time-basedevent in the subset of time-based events, wherein the overlappingtransitional effect continues into a beginning portion of a secondtime-based event immediately following the first time-based event in thesubset of time-based events, wherein the overlapping transitional effectcomprises one or more of an overlapping of the first time-based eventand the second time-based event, a cutting of the first time-based eventand the second time-based event, a splicing of the first time-basedevent and the second time-based event, a fading of the first time-basedevent into the second time-based event, or a joining of the firsttime-based event and the second time-based event.
 8. The method of claim1, further comprising: updating, by the one or more processors and aftera first time-based event has concluded, the graphical user interface toinclude a second time-based event from the list in place of the firsttime-based event from the list.
 9. The method of claim 1, wherein thesubset of time-based events includes a portion of a first time-basedevent such that the sum of the durations for each respective time-basedevent fully included in the subset of time-based events and the durationof the portion of the first time-based event is equal to the hour. 10.The method of claim 1, wherein each time-based event in the plurality oftime-based events comprises one or more of a song, a podcast, a video, apicture in a slide of a slideshow, a calendar event, an appointment, anaudio book, an audio recording, a planned refrain from audio or video, ascientific event, or an access priority, and wherein the list comprisesa specific sequence of the time-based events to occur consecutively. 11.The method of claim 1, wherein the plurality of time-based eventscomprise individual events for an individual user.
 12. The method ofclaim 1, wherein the plurality of time-based events are compiled from agroup of two or more users.
 13. The method of claim 12, wherein thecomputing device comprises a host computing device, and wherein themethod further comprises: compiling, by the one or more processors, thelist by: determining, by the one or more processors, an order for thegroup of two or more users, wherein the order includes one or moreindications of each user in the group of two or more users; and whilethere remains indications in the order, retrieving, by the one or moreprocessors, a next time-based event to be added to the list, the nexttime-based event being associated with a next user in the order for thegroup of two or more users, and the next time-based event being a nexttime-based event on a respective personal list for the next user storedon a secondary computing device associated with a next user in theorder.
 14. The method of claim 13, wherein the order is determined basedon one or more of a total number of time-based events in the respectivepersonal list of each user in the group of two or more users or a totalduration of the time-based events in the respective personal list ofeach user in the group of two or more users.
 15. The method of claim 12,wherein the computing device comprises a secondary computing device, andwherein the method further comprises retrieving, by the one or moreprocessors, the list from one of a host device or a server incommunication with the host device.
 16. The method of claim 15, whereineach graphical representation comprises an indication of a user from thegroup of two or more users that inserted the respective time-based eventinto the list.
 17. The method of claim 16, wherein each graphicalrepresentation that is associated with a time-based event that was notinserted into the list by a user of the secondary device does notinclude indications of the content of the respective time-based event.18. The method of claim 12, wherein compiling the list comprises: whileat least one user has a time-based event in a respective personal listthat has not been inserted into the list: cycling, by the one or moreprocessors, through each of the group of two or more users; if a nextuser in the cycle has a time-based event in a respective personal listthat has not been inserted into the list, inserting, by the one or moreprocessors, a next time-based event from the respective personal listinto the list.
 19. The method of claim 1, wherein the graphical userinterface further includes a graphical selector.
 20. The method of claim19, further comprising: determining, by the one or more processors acurrent time, wherein the graphical selector comprises a minute hand ofan analog clock, wherein the analog clock shows the current time in thegraphical user interface, and wherein each of the graphicalrepresentations are sized and arranged such that the graphical selectorpoints towards the graphical representation when the respectivetime-based event associated with the graphical representation is tooccur.
 21. The method of claim 19, and wherein the graphical selector isinitially positioned in a static direction, wherein the graphicalrepresentations cycle around the graphical selector as time passes. 22.The method of claim 19, wherein the graphical selector includes a firstendpoint fixed in the graphical user interface, wherein the firstendpoint is an endpoint of the graphical selector farthest away from thegraphical representations of the time-based events, wherein thegraphical selector is at a first angular position in the graphical userinterface, and wherein the method further comprises: receiving, by theone or more processors, an indication of user input at a portion of thegraphical user interface corresponding to the graphical selector,wherein the indication of user input comprises a radial gesture movingthe graphical selector around the first endpoint in the graphical userinterface; detecting, by the one or more processors, that the indicationof user input is no longer being received; and outputting, by the one ormore processors, a subsequent graphical user interface with thegraphical selector at the first angular position.
 23. The method ofclaim 22, wherein the first angular position comprises one of a staticdirection or a representation of an amount of minutes in a current time.24. The method of claim 22, further comprising: detecting, by the one ormore processors, a first graphical representation, associated with afirst time-based event, that the graphical selector is pointing towardsupon the detection of the indication of user input no longer beingreceived; selecting, by the one or more processors, the first time-basedevent; and performing, by the one or more processors, an action usingthe first time-based event.
 25. The method of claim 22, wherein theaction comprises one of: moving, by the one or more processors, aposition of the first time-based event within the list such that thefirst time-based event is inserted in place of a current time-basedevent selected by the graphical selector when the graphical selector isin a first position and updating, by the one or more processors, thegraphical user interface to reflect the updated list; moving, by the oneor more processors, the position of the first time-based event withinthe list such that the first time-based event is inserted immediatelyafter a current time-based event selected by the graphical selector whenthe graphical selector is in the first position and updating, by the oneor more processors, the graphical user interface to reflect the updatedlist; or skipping, by the one or more processors, every time-based eventbetween the current time-based event and the first time-based event inthe list, selecting, by the one or more processors, and based at leastin part on the list and the duration of each time-based event, a secondsubset of time-based events from the plurality of time-based eventsbeginning with the first time-based event, wherein the second subset oftime-based events from the plurality of time-based events is determinedsuch that a sum of the durations for each respective time-based event inthe second subset of time-based events is less than or equal to an hour,and wherein an order of the time-based events in the second subset oftime-based events is a same order as the order in the list, andupdating, by the one or more processors, the graphical user interface toreflect the second subset of time-based event.
 26. The method of claim22, further comprising: while receiving the indication of user input,updating, by the one or more processors, and based on a current angularposition of the graphical selector during the user input causing thegraphical selector to point towards a first time-based event, thegraphical user interface such that the graphical user interface displaysthe graphical representation for each time-based event in the pluralityof time-based events that occur within a first amount of time after thefirst time-based event and the graphical representation for eachtime-based event in the plurality of time-based events that occur withina second amount of time prior to the first time-based event, wherein thefirst amount of time and the second amount of time are such that:wherein the first amount of time comprises one of 15 minutes, 30minutes, 45 minutes, or an hour, wherein the second amount of timecomprises 0 minutes, 15 minutes, 30 minutes, or 45 minutes, or whereinthe first amount of time and second amount of time are dynamic amountsof time such that a sum of the first amount of time and second amount oftime are equal to 60 minutes and such that the first amount of time isequal to a number of minutes that, when added to a minutes portion of atime indicated by the current angular position, cause the summed minutesto equal 60 minutes.
 27. The method of claim 19, further comprising:adding, by the one or more processors, a new time-based event to thelist; determining, by the one or more processors and based on the subsetof time-based events, whether the new time-based event is set to occurprior to a final time-based event in the subset of time-based events;responsive to determining that the new time-based event is set to occurprior to a final time-based event in the subset of time-based events:selecting, by the one or more processors, and based at least in part onthe updated list and the duration of each time-based event, a secondsubset of time-based events from the plurality of time-based events,wherein the second subset of time-based events includes the newtime-based event, wherein the second subset of time-based events fromthe plurality of time-based events is determined such that a sum of thedurations for each respective time-based event in the second subset oftime-based events is less than or equal to an hour, and wherein an orderof the time-based events in the second subset of time-based events is asame order as the order in the list; generating, by the one or moreprocessors, an updated graphical user interface that includes thegraphical selector and a number of graphical representations equal tothe number of time-based events in the second subset of time basedevents, each graphical representation corresponding to a differenttime-based event from the second subset of time-based events, wherein asize of each graphical representation is proportional to the duration ofthe time-based event corresponding to the respective graphicalrepresentation, and wherein the graphical representations are arrangedat least partially around the graphical selector; and outputting, by theone or more processors and for display on the display component, theupdated graphical user interface.
 28. The method of claim 1, wherein asize of each graphical representation is proportional to the duration ofthe time-based event corresponding to the respective graphicalrepresentation.
 29. A computing device comprising: a memory configuredto store one or more computer-readable instructions; and a processorconfigured to execute the one or more computer-readable instructions to:access a list that includes a plurality of time-based events, whereineach time-based event has a particular duration; select, based at leastin part on the list and the duration of each time-based event, a subsetof time-based events from the plurality of time-based events, whereinthe subset of time-based events from the plurality of time-based eventsis determined such that a sum of the durations for each respectivetime-based event in the subset of time-based events is less than orequal to an hour, wherein the plurality of time-based events includes atleast one time-based event not included in the subset of time-basedevents, and wherein an order of the time-based events in the subset oftime-based events is a same order as an order in the list; generate agraphical user interface that includes a graphical representation foreach of the time-based events in the subset of time-based events,wherein a number of graphical representations generated is equal to thenumber of time-based events in the subset of time based events, eachgraphical representation corresponding to a different time-based eventfrom the subset of time-based events; and output, for display on adisplay component, the graphical user interface.
 30. A non-transitorycomputer-readable storage medium comprising instructions that, whenexecuted, cause one or more processors of a computing device to: accessa list that includes a plurality of time-based events, wherein eachtime-based event has a particular duration; select, based at least inpart on the list and the duration of each time-based event, a subset oftime-based events from the plurality of time-based events, wherein thesubset of time-based events from the plurality of time-based events isdetermined such that a sum of the durations for each respectivetime-based event in the subset of time-based events is less than orequal to an hour, wherein the plurality of time-based events includes atleast one time-based event not included in the subset of time-basedevents, and wherein an order of the time-based events in the subset oftime-based events is a same order as an order in the list; generate agraphical user interface that includes a graphical representation foreach of the time-based events in the subset of time-based events,wherein a number of graphical representations generated is equal to thenumber of time-based events in the subset of time based events, eachgraphical representation corresponding to a different time-based eventfrom the subset of time-based events; and output, for display on adisplay component, the graphical user interface.